Armus: dynamic deadlock verification for barriers
نویسندگان
چکیده
This paper presents a graph-based dynamic verification algorithm for deadlock detection and avoidance specialised in barrier synchronisation. Barriers are used to coordinate the execution of groups of tasks, and serve as a building block of parallel computing. The synchronisation patterns enabled by current barrier-based abstractions can introduce deadlocks, a major issue in getting parallel applications correct. Barrier deadlocks arise from a cyclic-dependency amongst tasks that participate on multiple barriers. We propose the use of a synchronisation-centric model instead a task-centric model, traditionally used in dynamic deadlock verification. We present Armus, a platform-agnostic framework for deadlock verification and introduce two applications of this framework: Armus-X10 monitors any unchanged X10 program for deadlocks; JArmus is a library to verify Java programs. To evaluate Armus, we benchmark the runtime execution against the NAS Parallel Benchmark suite and Java Grade Forum Benchmark suite. Results show that the performance overhead of our deadlock detection technique is negligible for usual parallel applications and is independent of the number of the tasks.
منابع مشابه
A Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness
Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...
متن کاملDynamic Deadlock Analysis of Multi-threaded Programs
This paper presents a dynamic program analysis algorithm that can detect deadlock potentials in a multi-threaded program by examining a single execution trace, obtained by running an instrumented version of the program. The algorithm is interesting because it can identify deadlock potentials even though no deadlocks occur in the examined execution, and therefore it scales very well in contrast ...
متن کاملWeb Service Choreography Verification Using Z Formal Specification
Web Service Choreography Description Language (WS-CDL) describes and orchestrates the services interactions among multiple participants. WS-CDL verification is essential since the interactions would lead to mismatches. Existing works verify the messages ordering, the flow of messages, and the expected results from collaborations. In this paper, we present a Z specification of WS-CDL. Besides ve...
متن کاملA Sound Reduction of Persistent-Sets for Deadlock Detection in MPI Applications
Formal dynamic analysis of MPI programs is crucially important in the context of developing HPC applications. Existing dynamic verification tools for MPI programs suffer from exponential schedule explosion, especially when multiple non-deterministic receive statements are issued by a process. In this paper, we focus on detecting message-orphaning deadlocks within MPI programs. For this analysis...
متن کاملFormal Verification of e-Services and Workflows
We study the verification problem for e-service (and workflow) specifications, aiming at efficient techniques for guiding the construction of composite e-services to guarantee desired properties (e.g., deadlock avoidance, bounds on resource usage, response times). Based on e-service frameworks such as AZTEC and e-FLow, decision flow language Vortex, we introduce a very simple e-service model fo...
متن کامل